Salesforce UX API
TMF622- LifelineDiscountPrepaid-PR
==> Create Lifeline Discount Enrollment for prepaid in Matrixx system (Rating system) POST:/productOrder
Note:
- To work this lifline discount functionality “productCharacteristic.value.@type" should be pass “MtxParameterStringValue”.
- you need to pass the LifelineDiscountEnrollment value as ‘True’ if you want to add Lifeline Discount for existing plan
- please provide all parameter values (
DataChargePercentage
,VoiceChargePercentageIntra
,VoiceChargePercentageInter
,SmsChargePercentage
,LifelineDiscountEnrollment
) even if you want to add LifelineDiscountEnrollment only otherwise Matrixx system will take default value for missing parameters.
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/productOrder
url Param
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR, etc.) identifying the business unit. | Y |
Header
name | type | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. Minimum characters: 5 | Y |
client_secret | string | Password associated with the client_id. Minimum characters: 5 | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
channelId | string | This is to identify the source (Project).Value : BUS sfdc-b2c Conditionally Mandatory. It is Mandatory only for B2B and B2C as there are underlying conditions based on channelId received | Y |
targetSystem | string | This describes the end system request is for Eg: Aria, Matrixx.Note - For Peacock Mobile Project, it's mandatory | Y |
lob | string | This is tidentify line of business, exmaple POSTPAID, PREPAID. | Y |
cURL request
{
"note": [
{
"text": "Change Plan",
"@type": "ReasonCode"
},
{
"text": "12345",
"@type": "TransactionId"
}
],
"channel": [
{
"name": "SFDC-B2C"
}
],
"productOrderItem": [
{
"@type": "Subscription",
"action": "noChange",
"id": "01",
"product": {
"id": "S-1913223321",
"name": "Prepaid Subscription",
"status": "active",
"@type": "Subscription"
},
"productOrderItem": [
{
"id": "",
"action": "add",
"@type": "Offer",
"product": {
"id": "",
"name": "LLA: PPU Services: Prepaid",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"value": "BasePlan",
"name": "OfferType",
"@type": "Attr"
},
{
"value": "PR_B2C_Prepaid_16GB_Mobile_Line",
"name": "CommercialPlanCode",
"@type": "Attr"
},
{
"value": "Prepaid 16GB Mobile Line",
"name": "CommercialPlanName",
"@type": "Attr"
},
{
"value": "3743732456",
"name": "OrderItemId",
"@type": "Attr"
}
]
}
},
{
"id": "",
"action": "add",
"@type": "Offer",
"product": {
"id": "",
"name": "LLA: Setup Services",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"value": "BasePlan",
"name": "OfferType",
"@type": "Attr"
},
{
"value": "PR_B2C_Prepaid_16GB_Mobile_Line",
"name": "CommercialPlanCode",
"@type": "Attr"
},
{
"value": "Prepaid 16GB Mobile Line",
"name": "CommercialPlanName",
"@type": "Attr"
},
{
"value": "3743732456",
"name": "OrderItemId",
"@type": "Attr"
}
]
}
},
{
"@type": "Offer",
"action": "add",
"id": "01",
"product": {
"id": "",
"name": "Prepaid_Template_Shared",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"value": "BasePlan",
"name": "OfferType",
"@type": "Attr"
},
{
"value": "PR_B2C_Prepaid_16GB_Mobile_Line",
"@type": "Attr",
"name": "CommercialPlanCode"
},
{
"value": "Prepaid 16GB Mobile Line",
"name": "CommercialPlanName",
"@type": "Attr"
},
{
"value": "10.00",
"name": "TotalCharge",
"@type": "Attr"
},
{
"name": "ChargeMethod",
"value": "1"
},
{
"name": "RolloverSupported",
"@type": "Attr",
"value": "true"
},
{
"name": "DataGrant",
"@type": "Attr",
"value": "16384.00"
},
{
"name": "HotspotGrant",
"@type": "Attr",
"value": "16384.00"
},
{
"name": "VoiceGrant",
"@type": "Attr",
"value": "999999.00"
},
{
"name": "TextGrant",
"@type": "Attr",
"value": "999999.00"
},
{
"name": "MMSGrant",
"@type": "Attr",
"value": "999999.00"
},
{
"name": "VoiceOriginationLocations",
"@type": "Attr",
"value": [
"0"
]
},
{
"name": "VoiceDestinationLocations",
"@type": "Attr",
"value": [
"0"
]
},
{
"name": "TextOriginationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "TextDestinationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "MMSOriginationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "MMSDestinationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "DataOriginationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"@type": "Attr",
"value": "10.00",
"name": "AutoPayDiscount"
},
{
"value": {
"value": "0.280",
"ParameterDefnId": "1",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "DataChargePercentage"
},
{
"value": {
"value": "0.662",
"ParameterDefnId": "10",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "VoiceChargePercentageIntra"
},
{
"value": {
"value": "0.058",
"ParameterDefnId": "11",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "VoiceChargePercentageInter"
},
{
"value": {
"value": "0.0",
"ParameterDefnId": "12",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "SmsChargePercentage"
},
{
"value": {
"value": "True",
"ParameterDefnId": "13",
"@type": "MtxParameterStringValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "LifelineDiscountEnrollment"
}
]
}
}
]
}
],
"@type": "ProductOrder"
}
Definitions
name | type | description | required |
---|---|---|---|
note | array | Extra information about a given entity | N |
note.text | string | Text of the note | N |
note.@type | string | Type of entity | N |
channel | array | Related channel to another entity. | N |
channel.name | string | Name of the channel. | N |
productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | N |
productOrderItem.id | string | Identifier of the line item | Y |
productOrderItem.action | string | action to be performed on the product. Note - expected value is "noChange" | Y |
productOrderItem.@type | string | Type of orderItem | N |
productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.product.id | string | Subscription external Id | Y |
productOrderItem.product.name | string | Catalog Item Name (ExternalId) | N |
productOrderItem.product.status | string | Status of product | N |
productOrderItem.product.@type | string | Product type | N |
productOrderItem.productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | Y |
productOrderItem.productOrderItem.id | string | Identifier of the line item, Note - ESB is not passing this value to Matrixx, it's mandatory as pr TMF guidelines. you can pass either empty or any random values | Y |
productOrderItem.productOrderItem.action | string | action to be performed on the product. Note - expected value is "add" | Y |
productOrderItem.productOrderItem.@type | string | Type of product order item | N |
productOrderItem.productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.productOrderItem.product.id | string | Unique identifier of the product | N |
productOrderItem.productOrderItem.product.name | string | Catalog Item Name (ExternalId), Note - ESB is not passing this value to Matrixx (backend system), it's mandatory as pr TMF guidelines. you can pass either empty or any random values | Y |
productOrderItem.productOrderItem.product.status | string | Status of product | N |
productOrderItem.productOrderItem.product.@type | string | Product type | Y |
productOrderItem.productOrderItem.product.productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair. Pleases refer below productCharacteristic values for more info. | N |
productOrderItem.productOrderItem.product.productCharacteristic.name | string | Name of the characteristic | N |
productOrderItem.productOrderItem.product.productCharacteristic.value | string | Value of the characteristic | N |
productOrderItem.productOrderItem.product.productCharacteristic.@type | string | characteristic type | N |
productCharacteristic Values
name | type | description | required |
---|---|---|---|
OfferType | string | Offer Type | N |
CommercialPlanCode | string | Commercial Plan Code | N |
CommercialPlanName | string | Commercial Plan Name | N |
OrderItemId | string | Order Item Id | N |
TotalCharge | string | Offer Total Charge | N |
ChargeMethod | string | Charge Method | N |
RolloverSupported | string | Rollover Supported | N |
DataGrant | string | Data Grant | N |
HotspotGrant | string | Hotspot Grant | N |
VoiceGrant | string | Voice Grant | N |
TextGrant | string | Text Grant | N |
MMSGrant | string | MMS Grant | N |
VoiceOriginationLocations | array | Voice Origination Locations | N |
VoiceDestinationLocations | array | Voice Destination Locations | N |
TextOriginationLocations | array | Text Origination Locations | N |
TextDestinationLocations | array | Text Destination Locations | N |
MMSOriginationLocations | array | MMS Origination Locations | N |
MMSDestinationLocations | array | MMS Destination Locations | N |
DataOriginationLocations | array | Data Origination Locations | N |
AutoPayDiscount | string | AutoPay Discount | N |
DataChargePercentage | object | Data Charge Percentage | N |
VoiceChargePercentageIntra | object | Voice Charge PercentageIntra | N |
VoiceChargePercentageInter | object | Voice Charge PercentageInter | N |
SmsChargePercentage | object | Sms Charge Percentage | N |
LifelineDiscountEnrollment | object | Lifeline Discount Enrollment | N |
Note Values
name | type | description | required |
---|---|---|---|
TransactionId | string | unique Transaction Id | N |
ReasonCode | string | Reason of this transaction | N |
Response
{
"state": "completed",
"note": [
{
"text": "Change Plan",
"@type": "ReasonCode"
},
{
"text": "12345",
"@type": "TransactionId"
}
],
"channel": [
{
"name": "SFDC-B2C"
}
],
"productOrderItem": [
{
"@type": "Subscription",
"action": "noChange",
"id": "01",
"product": {
"id": "S-1913223321",
"name": "Prepaid Subscription",
"status": "active",
"@type": "Subscription"
},
"productOrderItem": [
{
"id": "",
"action": "add",
"@type": "Offer",
"product": {
"id": "",
"name": "LLA: PPU Services: Prepaid",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"value": "BasePlan",
"name": "OfferType",
"@type": "Attr"
},
{
"value": "PR_B2C_Prepaid_16GB_Mobile_Line",
"name": "CommercialPlanCode",
"@type": "Attr"
},
{
"value": "Prepaid 16GB Mobile Line",
"name": "CommercialPlanName",
"@type": "Attr"
},
{
"value": "3743732456",
"name": "OrderItemId",
"@type": "Attr"
}
]
}
},
{
"id": "",
"action": "add",
"@type": "Offer",
"product": {
"id": "",
"name": "LLA: Setup Services",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"value": "BasePlan",
"name": "OfferType",
"@type": "Attr"
},
{
"value": "PR_B2C_Prepaid_16GB_Mobile_Line",
"name": "CommercialPlanCode",
"@type": "Attr"
},
{
"value": "Prepaid 16GB Mobile Line",
"name": "CommercialPlanName",
"@type": "Attr"
},
{
"value": "3743732456",
"name": "OrderItemId",
"@type": "Attr"
}
]
}
},
{
"@type": "Offer",
"action": "add",
"id": "01",
"product": {
"id": "",
"name": "Prepaid_Template_Shared",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"value": "BasePlan",
"name": "OfferType",
"@type": "Attr"
},
{
"value": "PR_B2C_Prepaid_16GB_Mobile_Line",
"@type": "Attr",
"name": "CommercialPlanCode"
},
{
"value": "Prepaid 16GB Mobile Line",
"name": "CommercialPlanName",
"@type": "Attr"
},
{
"value": "10.00",
"name": "TotalCharge",
"@type": "Attr"
},
{
"name": "ChargeMethod",
"value": "1"
},
{
"name": "RolloverSupported",
"@type": "Attr",
"value": "true"
},
{
"name": "DataGrant",
"@type": "Attr",
"value": "16384.00"
},
{
"name": "HotspotGrant",
"@type": "Attr",
"value": "16384.00"
},
{
"name": "VoiceGrant",
"@type": "Attr",
"value": "999999.00"
},
{
"name": "TextGrant",
"@type": "Attr",
"value": "999999.00"
},
{
"name": "MMSGrant",
"@type": "Attr",
"value": "999999.00"
},
{
"name": "VoiceOriginationLocations",
"@type": "Attr",
"value": [
"0"
]
},
{
"name": "VoiceDestinationLocations",
"@type": "Attr",
"value": [
"0"
]
},
{
"name": "TextOriginationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "TextDestinationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "MMSOriginationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "MMSDestinationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"name": "DataOriginationLocations",
"@type": "Attr",
"value": [
"1",
"2",
"3",
"4",
"5"
]
},
{
"@type": "Attr",
"value": "10.00",
"name": "AutoPayDiscount"
},
{
"value": {
"value": "0.280",
"ParameterDefnId": "1",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "DataChargePercentage"
},
{
"value": {
"value": "0.662",
"ParameterDefnId": "10",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "VoiceChargePercentageIntra"
},
{
"value": {
"value": "0.058",
"ParameterDefnId": "11",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "VoiceChargePercentageInter"
},
{
"value": {
"value": "0.0",
"ParameterDefnId": "12",
"@type": "MtxParameterDecimalValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "SmsChargePercentage"
},
{
"value": {
"value": "True",
"ParameterDefnId": "13",
"@type": "MtxParameterStringValue"
},
"valueType": "Object",
"@type": "Parameter",
"name": "LifelineDiscountEnrollment"
}
]
}
}
]
}
],
"@type": "ProductOrder"
}
Definitions
name | type | description | required |
---|---|---|---|
state | string | The state of the order | N |
Entire request payload will be appended with state in response | N |
==> Modify Lifeline Discount Enrollment for prepaid in Matrixx system (Rating system) PATCH:/productOrder/{id}
Modify plan by adding/removing Lifeline Discount for an existing subscriber prepaid
Note:
- To work this lifline discount functionality “productCharacteristic.value.@type" should be pass “MtxParameterStringValue”.
- you need to pass the LifelineDiscountEnrollment value as ‘False’ to remove the Lifeline Discount. Else pass as ‘True’ if you want to add Lifeline Discount for existing plan
- please provide all parameter values (
DataChargePercentage
,VoiceChargePercentageIntra
,VoiceChargePercentageInter
,SmsChargePercentage
,LifelineDiscountEnrollment
) even if you want to modify LifelineDiscountEnrollment only otherwise Matrixx system will take default value for missing parameters.
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/productOrder/{id}
URL PARAMS
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. | Y |
id | string | Identifier of the Product Order | Y |
Header
name | value | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. Minimum characters: 5 | Y |
client_secret | string | Password associated with the client_id. Minimum characters: 5 | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
channeId | String | Channel to business: Can be one of: "SFDC-B2C”, “SFDC-B2B" | Y |
targetSystem | String | This describes the end system request is for Eg: “Aria”, “Matrixx”. | Y |
lob | String |
Request
curl --location --request PATCH 'https://nonprod.esb.cloud.lla.com/dev/sfdc-ux/sfdc-ux/v1/PR/productOrder/S-12345' \
--header 'X-Correlation-Id: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2b' \
--header 'lob: PREPAID' \
--header 'channelId: SFDC-B2C' \
--header 'targetSystem: MATRIXX' \
--header 'client_id: 784c9a6dd7ae49768816cab57fcf1fa1' \
--header 'client_secret: 187b259EB77441babbF611d2646C670d' \
--header 'Content-Type: application/json' \
--data-raw '{
"channel": [
{
"name": "SFDC-B2C"
}
],
"note": [
{
"text": "Subscription Offer Modify",
"@type": "ReasonCode"
},
{
"text": "SFDC_TransactionID",
"@type": "TransactionId"
}
],
"productOrderItem": [
{
"id": "",
"action": "noChange",
"@type": "Subscription",
"product": {
"id": "S-12345",
"name": "Sub-ABC",
"description": "Subscription for line 1",
"status": "active",
"@type": "Subscription"
},
"productOrderItem": [
{
"id": "",
"action": "modify",
"@type": "offer",
"product": {
"id": "123",
"name": "Prepaid_Template_Shared",
"status": "active",
"@type": "offer",
"productCharacteristic": [
{
"name": "DataChargePercentage",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "1",
"value": "0.280"
}
},
{
"name": "VoiceChargePercentageIntra",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "10",
"value": "0.662"
}
},
{
"name": "VoiceChargePercentageInter",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "11",
"value": "0.058"
}
},
{
"name": "SmsChargePercentage",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "12",
"value": "0.0"
}
},
{
"name": "LifelineDiscountEnrollment",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "13",
"value": "True"
}
}
]
}
}
]
}
],
"@type": "ProductOrder"
}'
Definitions
name | type | description | required |
---|---|---|---|
note | array | Extra information about a given entity | N |
note.text | string | Text of the note | N |
note.@type | string | Type of entity | N |
channel | array | Related channel to another entity. | N |
channel.name | string | Name of the channel. | N |
productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | N |
productOrderItem.id | string | Identifier of the line item | Y |
productOrderItem.action | string | action to be performed on the product. Note - expected value is "noChange" | N |
productOrderItem.@type | string | Type of orderItem | N |
productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.product.id | string | Subscription external Id | Y |
productOrderItem.product.name | string | Catalog Item Name (ExternalId) | N |
productOrderItem.product.status | string | Status of product | N |
productOrderItem.product.@type | string | Product type | N |
productOrderItem.productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | Y |
productOrderItem.productOrderItem.id | string | Identifier of the line item, Note - ESB is not passing this value to Matrixx, it's mandatory as pr TMF guidelines. you can pass either empty or any random values | Y |
productOrderItem.productOrderItem.action | string | action to be performed on the product. Note - expected value is "add" | N |
productOrderItem.productOrderItem.@type | string | Type of product order item | N |
productOrderItem.productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.productOrderItem.product.id | string | Unique identifier of the product | N |
productOrderItem.productOrderItem.product.name | string | Catalog Item Name (ExternalId), Note - ESB is not passing this value to Matrixx (backend system), it's mandatory as pr TMF guidelines. you can pass either empty or any random values | Y |
productOrderItem.productOrderItem.product.status | string | Status of product | N |
productOrderItem.productOrderItem.product.@type | string | Product type | Y |
productOrderItem.productOrderItem.product.productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair. Pleases refer below productCharacteristic values for more info. | N |
productOrderItem.productOrderItem.product.productCharacteristic.name | string | Name of the characteristic | N |
productOrderItem.productOrderItem.product.productCharacteristic.value | string | Value of the characteristic | N |
productOrderItem.productOrderItem.product.productCharacteristic.@type | string | characteristic type | N |
productCharacteristic Values
name | type | description | required |
---|---|---|---|
DataChargePercentage | object | Data Charge Percentage | N |
VoiceChargePercentageIntra | object | Voice Charge PercentageIntra | N |
VoiceChargePercentageInter | object | Voice Charge PercentageInter | N |
SmsChargePercentage | object | Sms Charge Percentage | N |
LifelineDiscountEnrollment | object | Lifeline Discount Enrollment | N |
Note Values
name | type | description | required |
---|---|---|---|
TransactionId | string | unique Transaction Id | N |
ReasonCode | string | Reason of this transaction | N |
Response
{
"state": "completed",
"channel": [
{
"name": "SFDC-B2C"
}
],
"note": [
{
"text": "Subscription Offer Modify",
"@type": "ReasonCode"
},
{
"text": "SFDC_TransactionID",
"@type": "TransactionId"
}
],
"productOrderItem": [
{
"id": "",
"action": "noChange",
"@type": "Subscription",
"product": {
"id": "S-12345",
"name": "Sub-ABC",
"description": "Subscription for line 1",
"status": "active",
"@type": "Subscription"
},
"productOrderItem": [
{
"id": "",
"action": "modify",
"@type": "Offer",
"product": {
"id": "123",
"name": "Prepaid_Template_Shared",
"status": "active",
"@type": "Offer",
"productCharacteristic": [
{
"name": "DataChargePercentage",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "1",
"value": "0.280"
}
},
{
"name": "VoiceChargePercentageIntra",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "10",
"value": "0.662"
}
},
{
"name": "VoiceChargePercentageInter",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "11",
"value": "0.058"
}
},
{
"name": "SmsChargePercentage",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "12",
"value": "0.0"
}
},
{
"name": "LifelineDiscountEnrollment",
"@type": "Parameter",
"valueType": "Object",
"value": {
"ParameterDefnId": "13",
"value": "True"
}
}
]
}
}
]
}
],
"@type": "ProductOrder"
}
Definitions
name | type | description | required |
---|---|---|---|
state | string | The state of the order | N |
Entire request payload will be appended in response | N |